using Microsoft.EntityFrameworkCore;
using S.O.Domain.RBAC;
using S.O.Domain.Medical;

namespace S.O.Interstructrue
{
    public class RBACDbContext : DbContext
    {
        public RBACDbContext(DbContextOptions options) : base(options)
        {
        }

        protected RBACDbContext()
        {
        }
        
        // RBAC相关实体
        public DbSet<UserModel> Users { get; set; }
        public DbSet<RoleModel> Roles { get; set; }
        public DbSet<PermissionModel> Permissions { get; set; }
        public DbSet<UserRoleModel> UserRoles { get; set; }
        public DbSet<RolePermissionModel> RolePermissions { get; set; }
        
        // 医疗相关实体
        public DbSet<PatientModel> Patients { get; set; }
        public DbSet<RegistrationModel> Registrations { get; set; }
        public DbSet<DepartmentModel> Departments { get; set; }
        public DbSet<DoctorModel> Doctors { get; set; }
        public DbSet<DoctorScheduleModel> DoctorSchedules { get; set; }
        public DbSet<MedicalCardModel> MedicalCards { get; set; }
        public DbSet<MedicalRecordModel> MedicalRecords { get; set; }
        public DbSet<PrescriptionModel> Prescriptions { get; set; }
        public DbSet<PrescriptionMedicineModel> PrescriptionMedicines { get; set; }
    }
}
